package com.lulin.mall.seckill.controller;

import com.alibaba.fastjson.JSON;
import com.lulin.common.utils.R;
import com.lulin.mall.seckill.dto.SeckillSkuRedisDto;
import com.lulin.mall.seckill.service.SeckillService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 商品秒杀控制器
 *
 * @author lulin
 * @date 2023/1/6 10:27
 */
@RestController
@RequestMapping("/seckill")
public class SeckillController {
    @Autowired
    SeckillService seckillService;

    /**
     * 获取首页的秒杀信息
     */
    @GetMapping("/getCurrentSeckillSkus")
    public R getSeckillSessionBySkuId() {
        //查询出当前时间内的秒杀活动及对应的商品SKU信息
        List<SeckillSkuRedisDto> currentSeckillSkus = seckillService.getCurrentSeckillSkus();
        return R.ok().put("data", JSON.toJSONString(currentSeckillSkus));
    }

    /**
     * 根据skuId，查询秒杀活动对应的商品信息
     *
     * @param skuId sku商品编号
     */
    @GetMapping("/getSeckillSessionBySkuId/{skuId}")
    public R getCurrentSeckillSkus(@RequestParam("skuId") Long skuId) {
        SeckillSkuRedisDto dto = seckillService.getSeckillSessionBySkuId(skuId);
        return R.ok().put("data", JSON.toJSONString(dto));
    }
}
